package com.star.cat.persitent.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.star.cat.common.parse.DefaultKeyParse;
import com.star.cat.common.parse.KeyParse;

/**
 * 清除持久化数据
 * @author liguangcai
 * @date 2018/08/31 10:39
 */
@Retention(RetentionPolicy.RUNTIME)//在运行时可以获取  
@Target(value = {ElementType.METHOD, ElementType.TYPE})//作用到类，方法，接口上等
public @interface PersistentClear {

	/**
	 * 缓存key
	 * @return
	 */
	String key() default "";
	
	/**
	 * 缓存key前缀
	 * @return
	 */
	String prefix() default "";
	
	/**
	 * 模糊查询字符串
	 * @return
	 */
	String fuzzy() default "";
	
	/**
	 * 缓存keys
	 * @return
	 */
	String[] keys() default "";
	
	/**
	 * key解析器
	 * @return
	 */
	Class<? extends KeyParse> keyParse() default DefaultKeyParse.class;
	
}
